SOA、微服务、RPC、分布式

1.什么是RPC远程调用?

RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。比如两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数或者方法,由于不在一个内存空间,不能直接调用,这时候需要通过就可以应用RPC框架的实现来解决

2.什么是SOA?与SOAP区别是什么?

SOA是一种面向服务架构,是将相同业务逻辑抽取出来组成单独服务。

SOAP是WebService面向服务协议,采用xml,因为比较中,现在不是特别流行。

3.什么是微服务架构

微服务架构师一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相

协调、互相配合没用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的同学机制互相沟通(通畅采用Http+restful API),每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生成环境、类生存环境等。另外,应尽量避免同一的、集中式服务管理机制。

4.微服务与SOA区别

SOA实现微服务架构实现

企业级,自顶向下开展实施团队级,自定向上开展实施

服务由多个子系统组成一个系统被拆分成多个服务

集成式服务(esb、ws、soap)集成方式简单(http、rest、json)

5.RPC远程调用有哪些框架?

SpringCloud、Dubbo、Dubbox、Hessian、HttpClient、thrift等。

6.什么是SpringCloud

SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现(Eureka)、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于Springboot的,所以需要开发中对Springboot有一定的了解,如果不了解的话可以看蚂蚁课堂SpringBoot课程。

SpringCloud使用Eureka作为注册中心,使用rest+ribbon或者feign,断路器Hystrix、zuul接口网关等。

7.什么是Dubbo?

Duubbo是一个RPC远程调用框架,分布式服务治理框架

什么是Dubbo服务治理?

服务与服务之间会有很多个Url、依赖关系、负载均衡、容错、自动注册服务。

8.Dubbo有哪些协议?

默认用的dubbo协议、Http、RMI、Hessian

9.Dubbo整个架构流程

分为四大模块

生产者、消费者、注册中心、监控中心

生产者:提供服务

消费者: 调用服务

注册中心:注册信息(redis、zk)

监控中心:调用次数、关系依赖等。

首先生产者将服务注册到注册中心(zk),使用zk持久节点进行存储,消费订阅zk节点,一旦有节点变更,zk通过事件通知传递给消费者,消费可以调用生产者服务。

服务与服务之间进行调用,都会在监控中心中,存储一个记录。

10.Dubbox与Dubbo区别?

Dubox使用http协议+rest风格传入json或者xml格式进行远程调用。

Dubbo使用Dubbo协议。

11.SpringCloud与Dubbo区别?

相同点:

dubbo与springcloud都可以实现RPC远程调用。

dubbo与springcloud都可以使用分布式、微服务场景下。

区别:

dubbo有比较强的背景,在国内有一定影响力。

dubbo使用zk或redis作为注册中心

springcloud使用eureka作为注册中心

dubbo支持多种协议,默认使用dubbo协议。

Springcloud只能支持http协议。

Springcloud是一套完整的微服务解决方案。

Dubbo目前已经停止更新,SpringCloud更新速度快。


12.什么是Zookeeper

Zookeeper是一个工具,可以实现集群中的分布式协调服务。

所谓的分布式协调服务,就是在集群的节点中进行可靠的消息传递,来协调集群的工作。

Zookeeper之所以能够实现分布式协调服务,靠的就是它能够保证分布式数据一致性。

所谓的分布式数据一致性,指的就是可以在集群中保证数据传递的一致性。

 Zookeeper能够提供的分布式协调服务包括:数据发布订阅、负载均衡、命名服务、分布式协调/通知、集群管理、分布式锁、分布式队列等功能

13.Zookeeper特点

Zookeeper工作在集群中,对集群提供分布式协调服务,它提供的分布式协调服务具有如下的特点:

顺序一致性:从同一个客户端发起的事务请求,最终将会严格按照其发起顺序被应用到zookeeper中

原子性:所有事物请求的处理结果在整个集群中所有机器上的应用情况是一致的,即,要么整个集群中所有机器都成功应用了某一事务,要么都没有应用,一定不会出现集群中部分机器应用了改事务,另外一部分没有应用的情况。

单一视图:无论客户端连接的是哪个zookeeper服务器,其看到的服务端数据模型都是一致的。

可靠性:一旦服务端成功的应用了一个事务,并完成对客户端的响应,那么该事务所引起的服务端状态变更将会一直保留下来,除非有另一个事务又对其进行了改变。

实时性:zookeeper并不是一种强一致性,只能保证顺序一致性和最终一致性,只能称为达到了伪实时性。

14.zookeeper的数据模型

zookeepei中可以保存数据,正是利用zookeeper可以保存数据这一特点,我们的集群通过在zookeeper里存取数据来进行消息的传递。

zookeeper中保存数据的结构非常类似于文件系统。都是由节点组成的树形结构。不同的是文件系统是由文件夹和文件来组成的树,而zookeeper中是由ZNODE来组成的树。

每一个ZNODE里都可以存放一段数据,ZNODE下还可以挂载零个或多个子ZNODE节点,从而组成一个树形结构。

15.Zookeeper应用场景

数据发布订阅

负载均衡

命名服务

分布式协调

集群管理

配置管理

分布式队列

16.什么是分布式锁

简单的理解就是:分布式锁是一个在很多环境中非常有用的原语,它是不同的系统或是同一个系统的不同主机之间互斥操作共享资源的有效方法。

17.Zookeeper实现分布式锁

分布式锁使用zk,在zk上创建一个临时节点,使用临时节点作为锁,因为节点不允许重复。

如果能创建节点成功,生成订单号,如果创建节点失败,就等待。临时节点zk关闭,释放锁,其他节点就可以重新生成订单号。

19.Zookeeper与 Redis实现分布式锁的区别

基于缓存实现分布式锁锁没有失效事件,容易死锁非阻塞式

不可重入

基于Zookeeper实现分布式锁

实现相对简单

可靠性高

性能较好

分布式情况下定时任务会出现哪些问题?

分布式集群的情况下,怎么保证定时任务不被重复执行

分布式定时任务解决方案

①使用zookeeper实现分布式锁 缺点(需要创建临时节点、和事件通知不易于扩展)

②使用配置文件做一个开关  缺点发布后,需要重启

③数据库唯一约束,缺点效率低

④使用分布式任务调度平台

  XXLJOB

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容